package com.transaction.manage.model.dto;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Table(name = "fund_info")
public class FundInfo implements Serializable {
    @Id
    private Integer id;

    /**
     * 产品类型；0:F类;1:丰利类;2:红宝石7天类;3:封闭收益类;4:封闭净值类;5:开放净值类;,
     */
    @Column(name = "fund_type")
    private String fundType;

    /**
     * 渠道编码
     */
    @Column(name = "channel_code")
    private String channelCode;

    /**
     * 产品编码
     */
    @Column(name = "fund_code")
    private String fundCode;

    /**
     * 产品名称
     */
    @Column(name = "fund_name")
    private String fundName;

    /**
     * 是否允许个人购买：0：否；1：是
     */
    @Column(name = "indi_buy_flag")
    private Integer indiBuyFlag;

    /**
     * 个人首次购买最低
     */
    @Column(name = "indi_first_min_amount")
    private BigDecimal indiFirstMinAmount;

    /**
     * 个人首次购买最高
     */
    @Column(name = "indi_first_max_amount")
    private BigDecimal indiFirstMaxAmount;

    /**
     * 个人首次购买级差金额
     */
    @Column(name = "indi_first_range_amount")
    private BigDecimal indiFirstRangeAmount;

    /**
     * 个人追加购买最低
     */
    @Column(name = "indi_append_min_amount")
    private BigDecimal indiAppendMinAmount;

    /**
     * 个人追加购买最高
     */
    @Column(name = "indi_append_max_amount")
    private BigDecimal indiAppendMaxAmount;

    /**
     * 个人追加购买级差金额
     */
    @Column(name = "indi_append_range_amount")
    private BigDecimal indiAppendRangeAmount;

    /**
     * 个人赎回最低份额
     */
    @Column(name = "indi_redeem_min_vol")
    private BigDecimal indiRedeemMinVol;

    /**
     * 个人赎回级差份额
     */
    @Column(name = "indi_redeem_range_vol")
    private BigDecimal indiRedeemRangeVol;

    /**
     * 个人最低账面份额
     */
    @Column(name = "indi_book_min_vol")
    private BigDecimal indiBookMinVol;

    /**
     * 是否允许机构购买：0：否；1：是
     */
    @Column(name = "inst_buy_flag")
    private Integer instBuyFlag;

    /**
     * 机构首次购买最低
     */
    @Column(name = "inst_first_min_amount")
    private BigDecimal instFirstMinAmount;

    /**
     * 机构首次购买最高
     */
    @Column(name = "inst_first_max_amount")
    private BigDecimal instFirstMaxAmount;

    /**
     * 机构首次购买级差金额
     */
    @Column(name = "inst_first_range_amount")
    private BigDecimal instFirstRangeAmount;

    /**
     * 机构追加购买最低
     */
    @Column(name = "inst_append_min_amount")
    private BigDecimal instAppendMinAmount;

    /**
     * 机构追加购买最高
     */
    @Column(name = "inst_append_max_amount")
    private BigDecimal instAppendMaxAmount;

    /**
     * 机构追加购买级差金额
     */
    @Column(name = "inst_append_range_amount")
    private BigDecimal instAppendRangeAmount;

    /**
     * 机构赎回最低份额
     */
    @Column(name = "inst_redeem_min_vol")
    private BigDecimal instRedeemMinVol;

    /**
     * 机构赎回级差份额
     */
    @Column(name = "inst_redeem_range_vol")
    private BigDecimal instRedeemRangeVol;

    /**
     * 机构最低账面份额
     */
    @Column(name = "inst_book_min_vol")
    private BigDecimal instBookMinVol;

    /**
     * 是否含交易费：0：不含；1：含
     */
    @Column(name = "trans_rate_flag")
    private Integer transRateFlag;

    /**
     * 缴款方式
     */
    @Column(name = "pay_type")
    private String payType;

    /**
     * 募集开始日
     */
    @Column(name = "ipo_begin_date")
    private String ipoBeginDate;

    /**
     * 募集结束日
     */
    @Column(name = "ipo_end_date")
    private String ipoEndDate;

    /**
     * 成立日
     */
    @Column(name = "set_up_date")
    private String setUpDate;

    /**
     * 到期日
     */
    @Column(name = "maturity_date")
    private String maturityDate;

    /**
     * 年化计算天数;365:365;360:360
     */
    @Column(name = "annual_calculate_days")
    private Integer annualCalculateDays;

    /**
     * 子渠道号
     */
    @Column(name = "sub_channel_code")
    private String subChannelCode;

    /**
     * 是否固定净值：0：否；1：是
     */
    @Column(name = "fixed_nav_flag")
    private Integer fixedNavFlag;

    /**
     * 0份额是否重开合同：0：否；1：是
     */
    @Column(name = "zero_vol_del_contract_flag")
    private Integer zeroVolDelContractFlag;

    /**
     * 份额冻结天数
     */
    @Column(name = "vol_frozen_days")
    private Integer volFrozenDays;

    /**
     * 到期方式：150:基金清盘；142:强制赎回
     */
    @Column(name = "expire_way")
    private Integer expireWay;

    /**
     * 产品交易确认方式：T+N（该数值为N）
     */
    @Column(name = "cfm_way")
    private Integer cfmWay;

    /**
     * 产品状态：01：可用；00：不可用
     */
    @Column(name = "status_flag")
    private Integer statusFlag;

    /**
     * 操作状态：01：新增；02：修改；00：删除
     */
    @Column(name = "valid_flag")
    private String validFlag;

    /**
     * 复核状态：00：未复核；01：已复核
     */
    @Column(name = "check_flag")
    private String checkFlag;

    private Date utime;

    private static final long serialVersionUID = 1L;

    private String channelName;

    public FundInfo() {
    }

    public FundInfo(String channelCode, String fundCode) {
        this.channelCode = channelCode;
        this.fundCode = fundCode;
    }

    /**
     * @return id
     */
    public Integer getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取产品类型；1：货币类；2：非货币类；3：多币种类
     *
     * @return fund_type - 产品类型；1：货币类；2：非货币类；3：多币种类
     */
    public String getFundType() {
        return fundType;
    }

    /**
     * 设置产品类型；1：货币类；2：非货币类；3：多币种类
     *
     * @param fundType 产品类型；1：货币类；2：非货币类；3：多币种类
     */
    public void setFundType(String fundType) {
        this.fundType = fundType;
    }

    /**
     * 获取渠道编码
     *
     * @return channel_code - 渠道编码
     */
    public String getChannelCode() {
        return channelCode;
    }

    /**
     * 设置渠道编码
     *
     * @param channelCode 渠道编码
     */
    public void setChannelCode(String channelCode) {
        this.channelCode = channelCode;
    }

    /**
     * 获取产品编码
     *
     * @return fund_code - 产品编码
     */
    public String getFundCode() {
        return fundCode;
    }

    /**
     * 设置产品编码
     *
     * @param fundCode 产品编码
     */
    public void setFundCode(String fundCode) {
        this.fundCode = fundCode;
    }

    /**
     * 获取产品名称
     *
     * @return fund_name - 产品名称
     */
    public String getFundName() {
        return fundName;
    }

    /**
     * 设置产品名称
     *
     * @param fundName 产品名称
     */
    public void setFundName(String fundName) {
        this.fundName = fundName;
    }

    /**
     * 获取是否允许个人购买：0：否；1：是
     *
     * @return indi_buy_flag - 是否允许个人购买：0：否；1：是
     */
    public Integer getIndiBuyFlag() {
        return indiBuyFlag;
    }

    /**
     * 设置是否允许个人购买：0：否；1：是
     *
     * @param indiBuyFlag 是否允许个人购买：0：否；1：是
     */
    public void setIndiBuyFlag(Integer indiBuyFlag) {
        this.indiBuyFlag = indiBuyFlag;
    }

    /**
     * 获取个人首次购买最低
     *
     * @return indi_first_min_amount - 个人首次购买最低
     */
    public BigDecimal getIndiFirstMinAmount() {
        return indiFirstMinAmount;
    }

    /**
     * 设置个人首次购买最低
     *
     * @param indiFirstMinAmount 个人首次购买最低
     */
    public void setIndiFirstMinAmount(BigDecimal indiFirstMinAmount) {
        this.indiFirstMinAmount = indiFirstMinAmount;
    }

    /**
     * 获取个人首次购买最高
     *
     * @return indi_first_max_amount - 个人首次购买最高
     */
    public BigDecimal getIndiFirstMaxAmount() {
        return indiFirstMaxAmount;
    }

    /**
     * 设置个人首次购买最高
     *
     * @param indiFirstMaxAmount 个人首次购买最高
     */
    public void setIndiFirstMaxAmount(BigDecimal indiFirstMaxAmount) {
        this.indiFirstMaxAmount = indiFirstMaxAmount;
    }

    /**
     * 获取个人首次购买级差金额
     *
     * @return indi_first_range_amount - 个人首次购买级差金额
     */
    public BigDecimal getIndiFirstRangeAmount() {
        return indiFirstRangeAmount;
    }

    /**
     * 设置个人首次购买级差金额
     *
     * @param indiFirstRangeAmount 个人首次购买级差金额
     */
    public void setIndiFirstRangeAmount(BigDecimal indiFirstRangeAmount) {
        this.indiFirstRangeAmount = indiFirstRangeAmount;
    }

    /**
     * 获取个人追加购买最低
     *
     * @return indi_append_min_amount - 个人追加购买最低
     */
    public BigDecimal getIndiAppendMinAmount() {
        return indiAppendMinAmount;
    }

    /**
     * 设置个人追加购买最低
     *
     * @param indiAppendMinAmount 个人追加购买最低
     */
    public void setIndiAppendMinAmount(BigDecimal indiAppendMinAmount) {
        this.indiAppendMinAmount = indiAppendMinAmount;
    }

    /**
     * 获取个人追加购买最高
     *
     * @return indi_append_max_amount - 个人追加购买最高
     */
    public BigDecimal getIndiAppendMaxAmount() {
        return indiAppendMaxAmount;
    }

    /**
     * 设置个人追加购买最高
     *
     * @param indiAppendMaxAmount 个人追加购买最高
     */
    public void setIndiAppendMaxAmount(BigDecimal indiAppendMaxAmount) {
        this.indiAppendMaxAmount = indiAppendMaxAmount;
    }

    /**
     * 获取个人追加购买级差金额
     *
     * @return indi_append_range_amount - 个人追加购买级差金额
     */
    public BigDecimal getIndiAppendRangeAmount() {
        return indiAppendRangeAmount;
    }

    /**
     * 设置个人追加购买级差金额
     *
     * @param indiAppendRangeAmount 个人追加购买级差金额
     */
    public void setIndiAppendRangeAmount(BigDecimal indiAppendRangeAmount) {
        this.indiAppendRangeAmount = indiAppendRangeAmount;
    }

    /**
     * 获取个人赎回最低份额
     *
     * @return indi_redeem_min_vol - 个人赎回最低份额
     */
    public BigDecimal getIndiRedeemMinVol() {
        return indiRedeemMinVol;
    }

    /**
     * 设置个人赎回最低份额
     *
     * @param indiRedeemMinVol 个人赎回最低份额
     */
    public void setIndiRedeemMinVol(BigDecimal indiRedeemMinVol) {
        this.indiRedeemMinVol = indiRedeemMinVol;
    }

    /**
     * 获取个人赎回级差份额
     *
     * @return indi_redeem_range_vol - 个人赎回级差份额
     */
    public BigDecimal getIndiRedeemRangeVol() {
        return indiRedeemRangeVol;
    }

    /**
     * 设置个人赎回级差份额
     *
     * @param indiRedeemRangeVol 个人赎回级差份额
     */
    public void setIndiRedeemRangeVol(BigDecimal indiRedeemRangeVol) {
        this.indiRedeemRangeVol = indiRedeemRangeVol;
    }

    /**
     * 获取个人最低账面份额
     *
     * @return indi_book_min_vol - 个人最低账面份额
     */
    public BigDecimal getIndiBookMinVol() {
        return indiBookMinVol;
    }

    /**
     * 设置个人最低账面份额
     *
     * @param indiBookMinVol 个人最低账面份额
     */
    public void setIndiBookMinVol(BigDecimal indiBookMinVol) {
        this.indiBookMinVol = indiBookMinVol;
    }

    /**
     * 获取是否允许机构购买：0：否；1：是
     *
     * @return inst_buy_flag - 是否允许机构购买：0：否；1：是
     */
    public Integer getInstBuyFlag() {
        return instBuyFlag;
    }

    /**
     * 设置是否允许机构购买：0：否；1：是
     *
     * @param instBuyFlag 是否允许机构购买：0：否；1：是
     */
    public void setInstBuyFlag(Integer instBuyFlag) {
        this.instBuyFlag = instBuyFlag;
    }

    /**
     * 获取机构首次购买最低
     *
     * @return inst_first_min_amount - 机构首次购买最低
     */
    public BigDecimal getInstFirstMinAmount() {
        return instFirstMinAmount;
    }

    /**
     * 设置机构首次购买最低
     *
     * @param instFirstMinAmount 机构首次购买最低
     */
    public void setInstFirstMinAmount(BigDecimal instFirstMinAmount) {
        this.instFirstMinAmount = instFirstMinAmount;
    }

    /**
     * 获取机构首次购买最高
     *
     * @return inst_first_max_amount - 机构首次购买最高
     */
    public BigDecimal getInstFirstMaxAmount() {
        return instFirstMaxAmount;
    }

    /**
     * 设置机构首次购买最高
     *
     * @param instFirstMaxAmount 机构首次购买最高
     */
    public void setInstFirstMaxAmount(BigDecimal instFirstMaxAmount) {
        this.instFirstMaxAmount = instFirstMaxAmount;
    }

    /**
     * 获取机构首次购买级差金额
     *
     * @return inst_first_range_amount - 机构首次购买级差金额
     */
    public BigDecimal getInstFirstRangeAmount() {
        return instFirstRangeAmount;
    }

    /**
     * 设置机构首次购买级差金额
     *
     * @param instFirstRangeAmount 机构首次购买级差金额
     */
    public void setInstFirstRangeAmount(BigDecimal instFirstRangeAmount) {
        this.instFirstRangeAmount = instFirstRangeAmount;
    }

    /**
     * 获取机构追加购买最低
     *
     * @return inst_append_min_amount - 机构追加购买最低
     */
    public BigDecimal getInstAppendMinAmount() {
        return instAppendMinAmount;
    }

    /**
     * 设置机构追加购买最低
     *
     * @param instAppendMinAmount 机构追加购买最低
     */
    public void setInstAppendMinAmount(BigDecimal instAppendMinAmount) {
        this.instAppendMinAmount = instAppendMinAmount;
    }

    /**
     * 获取机构追加购买最高
     *
     * @return inst_append_max_amount - 机构追加购买最高
     */
    public BigDecimal getInstAppendMaxAmount() {
        return instAppendMaxAmount;
    }

    /**
     * 设置机构追加购买最高
     *
     * @param instAppendMaxAmount 机构追加购买最高
     */
    public void setInstAppendMaxAmount(BigDecimal instAppendMaxAmount) {
        this.instAppendMaxAmount = instAppendMaxAmount;
    }

    /**
     * 获取机构追加购买级差金额
     *
     * @return inst_append_range_amount - 机构追加购买级差金额
     */
    public BigDecimal getInstAppendRangeAmount() {
        return instAppendRangeAmount;
    }

    /**
     * 设置机构追加购买级差金额
     *
     * @param instAppendRangeAmount 机构追加购买级差金额
     */
    public void setInstAppendRangeAmount(BigDecimal instAppendRangeAmount) {
        this.instAppendRangeAmount = instAppendRangeAmount;
    }

    /**
     * 获取机构赎回最低份额
     *
     * @return inst_redeem_min_vol - 机构赎回最低份额
     */
    public BigDecimal getInstRedeemMinVol() {
        return instRedeemMinVol;
    }

    /**
     * 设置机构赎回最低份额
     *
     * @param instRedeemMinVol 机构赎回最低份额
     */
    public void setInstRedeemMinVol(BigDecimal instRedeemMinVol) {
        this.instRedeemMinVol = instRedeemMinVol;
    }

    /**
     * 获取机构赎回级差份额
     *
     * @return inst_redeem_range_vol - 机构赎回级差份额
     */
    public BigDecimal getInstRedeemRangeVol() {
        return instRedeemRangeVol;
    }

    /**
     * 设置机构赎回级差份额
     *
     * @param instRedeemRangeVol 机构赎回级差份额
     */
    public void setInstRedeemRangeVol(BigDecimal instRedeemRangeVol) {
        this.instRedeemRangeVol = instRedeemRangeVol;
    }

    /**
     * 获取机构最低账面份额
     *
     * @return inst_book_min_vol - 机构最低账面份额
     */
    public BigDecimal getInstBookMinVol() {
        return instBookMinVol;
    }

    /**
     * 设置机构最低账面份额
     *
     * @param instBookMinVol 机构最低账面份额
     */
    public void setInstBookMinVol(BigDecimal instBookMinVol) {
        this.instBookMinVol = instBookMinVol;
    }

    /**
     * 获取是否含交易费：0：不含；1：含
     *
     * @return trans_rate_flag - 是否含交易费：0：不含；1：含
     */
    public Integer getTransRateFlag() {
        return transRateFlag;
    }

    /**
     * 设置是否含交易费：0：不含；1：含
     *
     * @param transRateFlag 是否含交易费：0：不含；1：含
     */
    public void setTransRateFlag(Integer transRateFlag) {
        this.transRateFlag = transRateFlag;
    }

    /**
     * 获取缴款方式
     *
     * @return pay_type - 缴款方式
     */
    public String getPayType() {
        return payType;
    }

    /**
     * 设置缴款方式
     *
     * @param payType 缴款方式
     */
    public void setPayType(String payType) {
        this.payType = payType;
    }

    /**
     * 获取募集开始日
     *
     * @return ipo_begin_date - 募集开始日
     */
    public String getIpoBeginDate() {
        return ipoBeginDate;
    }

    /**
     * 设置募集开始日
     *
     * @param ipoBeginDate 募集开始日
     */
    public void setIpoBeginDate(String ipoBeginDate) {
        this.ipoBeginDate = ipoBeginDate;
    }

    /**
     * 获取募集结束日
     *
     * @return ipo_end_date - 募集结束日
     */
    public String getIpoEndDate() {
        return ipoEndDate;
    }

    /**
     * 设置募集结束日
     *
     * @param ipoEndDate 募集结束日
     */
    public void setIpoEndDate(String ipoEndDate) {
        this.ipoEndDate = ipoEndDate;
    }

    /**
     * 获取成立日
     *
     * @return set_up_date - 成立日
     */
    public String getSetUpDate() {
        return setUpDate;
    }

    /**
     * 设置成立日
     *
     * @param setUpDate 成立日
     */
    public void setSetUpDate(String setUpDate) {
        this.setUpDate = setUpDate;
    }

    /**
     * 获取到期日
     *
     * @return maturity_date - 到期日
     */
    public String getMaturityDate() {
        return maturityDate;
    }

    /**
     * 设置到期日
     *
     * @param maturityDate 到期日
     */
    public void setMaturityDate(String maturityDate) {
        this.maturityDate = maturityDate;
    }

    /**
     * 获取年化计算天数;365:365;360:360
     *
     * @return annual_calculate_days - 年化计算天数;365:365;360:360
     */
    public Integer getAnnualCalculateDays() {
        return annualCalculateDays;
    }

    /**
     * 设置年化计算天数;365:365;360:360
     *
     * @param annualCalculateDays 年化计算天数;365:365;360:360
     */
    public void setAnnualCalculateDays(Integer annualCalculateDays) {
        this.annualCalculateDays = annualCalculateDays;
    }

    /**
     * 获取子渠道号
     *
     * @return sub_channel_code - 子渠道号
     */
    public String getSubChannelCode() {
        return subChannelCode;
    }

    /**
     * 设置子渠道号
     *
     * @param subChannelCode 子渠道号
     */
    public void setSubChannelCode(String subChannelCode) {
        this.subChannelCode = subChannelCode;
    }

    /**
     * 获取是否固定净值：0：否；1：是
     *
     * @return fixed_nav_flag - 是否固定净值：0：否；1：是
     */
    public Integer getFixedNavFlag() {
        return fixedNavFlag;
    }

    /**
     * 设置是否固定净值：0：否；1：是
     *
     * @param fixedNavFlag 是否固定净值：0：否；1：是
     */
    public void setFixedNavFlag(Integer fixedNavFlag) {
        this.fixedNavFlag = fixedNavFlag;
    }

    /**
     * 获取0份额是否重开合同：0：否；1：是
     *
     * @return zero_vol_del_contract_flag - 0份额是否重开合同：0：否；1：是
     */
    public Integer getZeroVolDelContractFlag() {
        return zeroVolDelContractFlag;
    }

    /**
     * 设置0份额是否重开合同：0：否；1：是
     *
     * @param zeroVolDelContractFlag 0份额是否重开合同：0：否；1：是
     */
    public void setZeroVolDelContractFlag(Integer zeroVolDelContractFlag) {
        this.zeroVolDelContractFlag = zeroVolDelContractFlag;
    }

    /**
     * 获取份额冻结天数
     *
     * @return vol_frozen_days - 份额冻结天数
     */
    public Integer getVolFrozenDays() {
        return volFrozenDays;
    }

    /**
     * 设置份额冻结天数
     *
     * @param volFrozenDays 份额冻结天数
     */
    public void setVolFrozenDays(Integer volFrozenDays) {
        this.volFrozenDays = volFrozenDays;
    }

    /**
     * 获取到期方式：150:基金清盘；142:强制赎回
     *
     * @return expire_way - 到期方式：150:基金清盘；142:强制赎回
     */
    public Integer getExpireWay() {
        return expireWay;
    }

    /**
     * 设置到期方式：150:基金清盘；142:强制赎回
     *
     * @param expireWay 到期方式：150:基金清盘；142:强制赎回
     */
    public void setExpireWay(Integer expireWay) {
        this.expireWay = expireWay;
    }

    /**
     * 获取产品交易确认方式：T+N（该数值为N）
     *
     * @return cfm_way - 产品交易确认方式：T+N（该数值为N）
     */
    public Integer getCfmWay() {
        return cfmWay;
    }

    /**
     * 设置产品交易确认方式：T+N（该数值为N）
     *
     * @param cfmWay 产品交易确认方式：T+N（该数值为N）
     */
    public void setCfmWay(Integer cfmWay) {
        this.cfmWay = cfmWay;
    }

    public Integer getStatusFlag() {
        return statusFlag;
    }

    public void setStatusFlag(Integer statusFlag) {
        this.statusFlag = statusFlag;
    }

    /**
     * 获取操作状态：01：新增；02：修改；00：删除
     *
     * @return valid_flag - 操作状态：01：新增；02：修改；00：删除
     */
    public String getValidFlag() {
        return validFlag;
    }

    /**
     * 设置操作状态：01：新增；02：修改；00：删除
     *
     * @param validFlag 操作状态：01：新增；02：修改；00：删除
     */
    public void setValidFlag(String validFlag) {
        this.validFlag = validFlag;
    }

    /**
     * 获取复核状态：00：未复核；01：已复核
     *
     * @return check_flag - 复核状态：00：未复核；01：已复核
     */
    public String getCheckFlag() {
        return checkFlag;
    }

    /**
     * 设置复核状态：00：未复核；01：已复核
     *
     * @param checkFlag 复核状态：00：未复核；01：已复核
     */
    public void setCheckFlag(String checkFlag) {
        this.checkFlag = checkFlag;
    }

    /**
     * @return utime
     */
    public Date getUtime() {
        return utime;
    }

    /**
     * @param utime
     */
    public void setUtime(Date utime) {
        this.utime = utime;
    }

    public String getChannelName() {
        return channelName;
    }

    public void setChannelName(String channelName) {
        this.channelName = channelName;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", fundType=").append(fundType);
        sb.append(", channelCode=").append(channelCode);
        sb.append(", fundCode=").append(fundCode);
        sb.append(", fundName=").append(fundName);
        sb.append(", indiBuyFlag=").append(indiBuyFlag);
        sb.append(", indiFirstMinAmount=").append(indiFirstMinAmount);
        sb.append(", indiFirstMaxAmount=").append(indiFirstMaxAmount);
        sb.append(", indiFirstRangeAmount=").append(indiFirstRangeAmount);
        sb.append(", indiAppendMinAmount=").append(indiAppendMinAmount);
        sb.append(", indiAppendMaxAmount=").append(indiAppendMaxAmount);
        sb.append(", indiAppendRangeAmount=").append(indiAppendRangeAmount);
        sb.append(", indiRedeemMinVol=").append(indiRedeemMinVol);
        sb.append(", indiRedeemRangeVol=").append(indiRedeemRangeVol);
        sb.append(", indiBookMinVol=").append(indiBookMinVol);
        sb.append(", instBuyFlag=").append(instBuyFlag);
        sb.append(", instFirstMinAmount=").append(instFirstMinAmount);
        sb.append(", instFirstMaxAmount=").append(instFirstMaxAmount);
        sb.append(", instFirstRangeAmount=").append(instFirstRangeAmount);
        sb.append(", instAppendMinAmount=").append(instAppendMinAmount);
        sb.append(", instAppendMaxAmount=").append(instAppendMaxAmount);
        sb.append(", instAppendRangeAmount=").append(instAppendRangeAmount);
        sb.append(", instRedeemMinVol=").append(instRedeemMinVol);
        sb.append(", instRedeemRangeVol=").append(instRedeemRangeVol);
        sb.append(", instBookMinVol=").append(instBookMinVol);
        sb.append(", transRateFlag=").append(transRateFlag);
        sb.append(", payType=").append(payType);
        sb.append(", ipoBeginDate=").append(ipoBeginDate);
        sb.append(", ipoEndDate=").append(ipoEndDate);
        sb.append(", setUpDate=").append(setUpDate);
        sb.append(", maturityDate=").append(maturityDate);
        sb.append(", annualCalculateDays=").append(annualCalculateDays);
        sb.append(", subChannelCode=").append(subChannelCode);
        sb.append(", fixedNavFlag=").append(fixedNavFlag);
        sb.append(", zeroVolDelContractFlag=").append(zeroVolDelContractFlag);
        sb.append(", volFrozenDays=").append(volFrozenDays);
        sb.append(", expireWay=").append(expireWay);
        sb.append(", cfmWay=").append(cfmWay);
        sb.append(", validFlag=").append(validFlag);
        sb.append(", checkFlag=").append(checkFlag);
        sb.append(", utime=").append(utime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}